The present invention relates to video-on-demand methods and apparatus, and particularly to such methods and apparatus which provide the capability of Fast PLAY in addition to Normal PLAY.
Video-on-demand (VOD) systems allow a number of subscribers, each having a computerized monitor (viewer) to order and control the display of a selected program from a large selection of programs stored in a central computer (server). The viewers communicate with the server via wide band links, such as shielded cables, optical fibres, or satelite antennas. The server uses a high-capacity storage device, e.g., a RAID disk array, and a powerful controller to retrieve and route the data stream in accordance with user commands.
Straightforward digital representation of color video information requires enormous storage and data flow capacities. For this reason, video compression techniques and standards have been devised which reduce storage and communication requirements dramatically. The most known standard today is the MPEG (Motion Pictures Expert Group) standard. It includes two types of coded video data, namely (a) anchor data, constituted of anchor picture frames coded without reference to other picture frames, and (b) complemental data, complementing the anchor data, and including predictive picture frames coded in accordance with motion compensation predictions from the anchor picture frames and the predictive picture frames. The anchor picture frames are commonly called I-frames (Intra-coded pictures). The predictive picture frames include P-frames, which are unidirectionally-predictive, and B-frames, which are bidirectionally-predictive, the latter being sometimes called interpolated frames.
A further picture type, namely the D-frame, is also provided to allow a simple but limited quality Fast-Forward PLAY Mode of operation.
In a typical VOD system, the original video information (e.g., analog) is compressed in an encoded form and is stored digitally in the server. On user command, the required program, in compressed form, is transmitted to the viewer. In the viewer, the data is decoded by displaying the sequence of anchor picture frames (I-frames) and reconstructing, between each of such frames, the appropriate sequence of predictive picture frames (P-frames and B-frames) from the respective anchor picture frames and other predictive picture frames.
While the basic, function of a VOD system is to retrieve and display a selected program, it would be highly desirable to provide a VOD system which offers the entire spectrum of operational modes of a home VCR (Video Cassette Recorder), including Normal PLAY, Fast Forward PLAY, Fast Backward PLAY, Skip, etc.
One way of accomplishing a Fast PLAY (Forward or Backward) in a compressed video system is by extracting and displaying only anchor picture frames from the compressed video streams. However, this is a disk-intensive and a CPU-intensive operation and could bring the server performance to its limits, especially if a number of users order a Fast PLAY simultaneously.
Chen et al U.S. Pat. No. 5,521,630 proposes a technique for meeting this problem, by dividing the data stream into segments and storing the segments in separate files, with each segment including an I-frame and a plurality of B-frames and P-frames until the next I-frame. In the example illustrated, there are ten files (disks). The first file includes segments S0, S10, S20, etc.; the second file includes segments S1, S11, S21, etc.; and the ninth file includes segments S9, S19, S29, etc. During Normal PLAY, the segments are retrieved and combined in round robin fashion; whereas in Fast PLAY, the segments are selected for display, according to either a segments sampling method or a segment placement method.